System and method for soliciting and retrieving a complete email thread

ABSTRACT

A system and method allows an email user to solicit an email thread from another user (or from a server) in situations where the first requesting user may have been added to an email thread after the email thread was started, or in situations where the user may have an incomplete thread (for example, where a user is being added to a thread where an attachment was removed). The complete thread is returned to the first requesting user, after permission has been sought and granted, and after data mining and intelligent aggregation of a plurality of relevant threads in to one interleaved result is performed and returned to the first requesting user.

FIELD OF THE INVENTION

The present invention relates generally to email and, more specifically, to a system and method for soliciting and retrieving a complete email thread.

BACKGROUND OF THE INVENTION

Situations often arise where an individual may have been added to an email thread late (and have missed earlier parts of the thread), or a user may have an incomplete thread (for example, if a user has been added to a thread where an attachment was removed).

The present art, such as IBM's IWMC (IBM® Workplace Managed Client) and other browser clients such as MSN's Hotmail®, Google's GMail, Yahoo® Mail, do not solve this problem of identifying threads on the specific topic of thread solicitation, aggregation, merging, or returning incomplete threads.

There is currently a need for a system and method to allow such a user to solicit and receive a complete thread from another user when permission has been sought and granted.

BRIEF SUMMARY OF THE INVENTION

The system and method of the present invention allows an email user to solicit an email thread from another user (or from a server) in situations where the first requesting user may have been added to an email thread after the email thread was started, or in situations where the user may have an incomplete thread (for example, where a user is being added to a thread where an attachment was removed). The complete thread is returned to the first requesting user, after permission has been sought and granted, and after data mining and intelligent aggregation of a plurality of relevant threads in to one interleaved result is performed and returned to the first requesting user.

The illustrative aspects of the present invention are designed to solve one or more of the problems herein described and/or one or more other problems not discussed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

These and other features of the invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings that depict various embodiments of the invention, in which:

FIG. 1 depicts the email system of the present invention.

FIG. 2 illustrates the system of the present invention having a storage unit for storing an email thread.

FIG. 3 illustrates the system and method of the present invention having an email storage area such that a user may send emails and retrieve threads.

FIG. 4 illustrates the system and method of the present invention having an email storage area such that a user may send emails and retrieve threads.

FIG. 5 illustrates the system and method of the present invention for sending correspondence to other users.

FIG. 6 illustrates the system and method of the present invention for establishing an email thread and allowing other users to provide edits or annotations.

FIG. 7 illustrates the system and method of the present invention for building a complete thread.

FIG. 8 illustrates the UI of the present invention showing the “Suppress Thread” UI element.

The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represent like elements between the drawings.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT OF THE PRESENT INVENTION

The present invention provides system and method for soliciting and retrieving a complete email thread.

In FIG. 1, Email System 101 is shown to illustrate this point. Email System 101 has Email Client 100, Email Server 102 and Email Clients 104 and Email Client 106. Of course, many more email clients could be connected through Email Server 102 and many more email servers interconnected within Network 108. Email Client 100 communicates with Email Client 104 and Email Client 106 through Email Server 102 and, in this example, in an email communication. Of course, the clients could be communicating via text messaging—TM—or instant messaging—IM. Alternatively, Email Client 100 and Email Clients 104, 106 may be connected directly for email communication in a “peer to peer” configuration. Email Server 102 is shown within a Network 108 which may be of the many various forms such as Internet, local area network (LAN), MAN, etc. Email Server 102 has an Interface (I/F) 114 and I/F 116 for interfacing with Email Clients 100, 104, 106 (and others). Email Server 102 further has an Email Mailbox/Processor 118 for processing and storing email communications between Email Client 100 and Email Clients 104, 106. This can be seen as Email Server 102 has Mailbox Components 110, 111, and 113.

Email Client 100 has an I/F 114 for interfacing with the Network 108 and Email Server 102. Likewise, Email Clients 104, 106 have interface components for interfacing with the Network 108 and Email Server 102. Email Client 100 has a Mailbox Component 110 for providing email communications 130 with Email Clients 104, 106 through the Network 108 and Email Server 102 and for storing received emails. Likewise, Email Clients 104, 106 each has a Mailbox Component 113, 111 for providing email communications 130 with Email Client 100 through the Network 108 and Email Server 102.

The Mailbox Components 110, 111 and 113 of Email Clients 100, 104, 106 correspond to the Mailbox Components of Email Server 102 and, for some applications, the Server Mail Components replicate to the Client Mail Components so that the Client Mail Components are local to the user. (Further information on this topic can be found at http://en.wikipedia.org/wiki/Data_replication.)

In the course of an email “discussion”, or thread, an Email Message 130 is sent to a number of parties such as Email Clients 104, 106. Email Client 104 “replies to all” with a Reply to All Message so that it is sent to all of the initial recipients and the initial sender. This creates an email thread which is characterized by a common sender/recipient list. This, of course, can occur many times causing lots of activity at a user's mailbox.

Sometimes, situations arise where an individual may have been added to an email thread later then when the email thread has begun (and the later added individual have missed earlier parts of the thread), or a later added individual may have an incomplete thread (for example, being added to a thread where an attachment was removed). The system and method of the present allows such a later added individual to solicit, or request, and receive a complete thread from the system or another user when permission has been sought and granted.

The system and method of the present invention allows an individual to solicit an email thread from another user in situations where this individual may have been added to an email thread late (and have missed earlier parts of the thread), or in situations where the user may have an incomplete thread (e.g., being added to a thread where an attachment was removed). The complete thread is returned when permission has been sought and granted, and after data mining and intelligent aggregation of a plurality of relevant threads in to one interleaved result is performed and returned to the requester.

For instance, Email Client 106 is added to an email thread in which the thread is incomplete (missing history, missing attachments, etc.). Email Client 106 identifies any individual on the thread (or number of individuals), such as Email Client 100, and, with a simple UI selection, solicits a request for a Complete Thread 132 (utilizing a “Request Thread” button located on Email Client's 106 UI). The request is transferred to the other individuals as a request that results in a message on the opposite side “Joe Bloggs has requested a complete thread on Mail XYX”. A link is embedded in the thread which the remote user (Email Client 100) can use to establish the thread that Email Client 106 is soliciting. Embedded in the request is a dialogue with a “I agree”, “I agree with comments”, “I decline”, “I decline with comments”, and “Ignore” option. Options are also available to “Return the complete thread”, “Return the complete instance of the specific part of the thread identified (which would usually mean an attachment)”. Once the remote user (Email Client 100) agrees or agrees with comments a data mining process kicks off on the mail server (Email Server 102) and parses out the complete thread from the remote user's (Email Client's 100) mail box. The complete thread is sent to the Email Client 106 along with any comments from the remote user (Email Client 100).

If the remote user (Email Client 100) agrees to return a complete thread for the specific_instance of the solicited thread then:

-   -   the data mining process that runs server side (Email Server 102)         locates all instances of this thread (all available parent and         child threads);     -   an intelligent thread aggregation process analyses the various         threads and interleaves all threads in to one date-ordered         thread, at the same time eliminating any unnecessary         duplication; and     -   the final thread returned to Email Client 106 is complete and         free of duplicates.

If the remote user (Email Client 100) agrees to return a complete thread and all possible spin-off branches associated with this thread:

-   -   the data mining process, which runs server side (Email Server         102), locates all instances of this thread as well as all         spin-off branches;     -   an intelligent thread aggregation process analyses the various         threads and provides a chronological sort order by branch that         is returned to the requesting user (Email Client 106). For         example, in IBM's Lotus Notes® email client, this could be done         using on the first level sections for all branches/leaves of the         thread and then subsections with the mails of the branches. Yet         another embodiment is to send one mail per branch, where all         mails are encapsulated in a tree whose parent title describes         the requesting user's (Email Client's 106) request, and wherein         the various threads and branches reside; and     -   the entire tree (parent+all child branches comprising all spin         off threads) are returned to Email Client 106 as complete.

In the preferred embodiment of the present invention, the system and method allows that a requesting user (Email Client 106) may solicit for an email thread and responses are processed as conventional email requests, and routed to mailboxes. The system and method allows that when a solicit request is opened that the email is flagged in a unique way (a special kind of email in the way that a To Do is a special kind of email, and a Calendar entry is a special kind of email) such that a trigger event is activated to permit an accept/reject response that is managed by motivating a basic UI with preferences (described above) that the remote user can select. Once the remote user (Email Client 100) affirms, a process running on the mail server (Email Server 102) receives a new event in a queue on which to act, and which has the access control to mine the remote user's mail file for relevant threads. The interleaving and removal of redundant information from the thread prior to queuing the thread up for outbound delivery can also be handled by this same process.

The system and method of the present presents a second user with a UI that allows her to forward the complete instance of the “current” thread, as well as the ability to forward a complete thread and all possible spin-off branches associated with this thread. The content forwarded and received (single thread instance or parent with child threads as branches representing spin-off threads).

FIG. 2 illustrates the system 200 of the present invention having a storage unit 202 for storing an email thread. Users 206, 208, 210, 218, 218 and 220 can utilize a workstation, a lap top computer, a cell phone, a personal digital assistant or other devices to communicate with one another through networks 214, 216.

FIG. 3 illustrates the system and method 300 of the present invention having an email storage area 302 such that a user 304 may send emails and retrieve ethreads. At 306, user 304 requests an thread and the system and method of the present invention determines whether the user is authenticated and whether a thread exists. If not, the process ends at 308. If so, at 310, the system determines the owner(s) of the thread and, at 312, requests approval of passing on the thread. If approved, at 314, at 316, the format of the device is determined and is passed to the various adapters 318 and is stored in storage devices 320 and is delivered to user via delivery mechanism 322.

FIG. 4 illustrates the system and method 400 of the present invention having an email storage area 420 such that a user may send emails and retrieve ethreads. At step 402, the method determines whether there has been a request for a creation or a modification of a thread. At step 404, the system and method determines the required parties. At step 406, the method populates the various fields of the email such as the CC, Subject or Body fields. At step 408, the system and method establishes the delivery parameters. At step 410, the system and method conveys the correspondence to the recipients. This is shown in FIG. 5 (508). At step 412, the system and method activates the delivery subsystem. At step 416, the system and method determines whether the delivery parameters have been satisfied. If not, at step 414, an error message is sent to the originator. If so, the thread is conveyed to the requestor.

FIG. 6 illustrates the system and method 600 of the present invention having an email storage area 602 such that a user may send emails and retrieve email threads (at thread holder 608) which are established from users 604. Users 604 are allowed to provide edits/annotations to the thread at 606. The thread is then returned to the requester at 608. The requester may then delete (614), solicit entire email thread (612), request mature/incomplete email thread (616) or archive or save thread (620).

FIG. 7 illustrates the system and method 700 of the present invention having an email storage area 702 such that a user 704 may send emails and retrieve email threads (at thread holder 702). At 706, user 704 solicits from the system the entire thread. At 708, the system determines the communication type (for instance, SMS, email, IM or C&S). (The Short Message Service (SMS), often called text messaging, is a means of sending short messages to and from mobile phones. Instant messaging (IM) is a form of real-time communication between two or more people based on typed text. The text is conveyed via computers connected over a network such as the Internet.) At 710, the thread data is initialized and metadata is established. At 712, the thread is rebuilt. At 714, the system and method places the email/SMS object in the MTA outbound queue and complete thread is delivered at 716 to user at 720.

FIG. 8 illustrates the user interface 800 of the present invention illustrating the “Suppress Thread” button of the present invention for suppressing the thread. Likewise, the user interface 800 of the present invention may display a “Request Thread” button for requesting the thread.

The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to an individual in the art are included within the scope of the invention as defined by the accompanying claims. 

1. A method, for use in a system where users exchange emails to create an email thread, for a requesting user to request and retrieve a complete email thread, the method comprising the following steps: a. receiving a request for an email thread from the requesting email user; b. authenticating the requesting email user; c. retrieving the requested email thread for the requesting email user; and d. conveying the requested email thread to the requesting email user.
 2. The method of claim 1 wherein the system further comprises a “Suppress Thread” UI button, the method comprising the steps of: receiving “Suppress Thread” request; and removing the email thread from the user's inbox.
 3. The method of claim 2 wherein the system further comprises a “Request Thread” UI button and wherein a requesting user is added to an email thread in which the thread is incomplete, the method further comprising the steps of receiving, from the requesting user, identification of another user on the thread; and receiving a “Request Thread” request; conveying the thread to the requesting user.
 4. The method of claim 3 further comprising the step of conveying the “Request Thread” request to others in the thread.
 5. The method of claim 4 further comprising the step of allowing the others in the thread to review the thread and select “I agree”, “I agree with comments”, “I decline”, “I decline with comments”, “Ignore”, and “Return the complete thread”.
 6. The method of claim 5 further comprising the steps of receiving response from at least one of the others in the thread an agreement with comments, mining data on the mail server and parsing out the complete thread from the requesting user's mail box.
 7. The method of claim 6 wherein the mining step include mining data from all available parent and child threads.
 8. A computer software program comprising program code stored on a computer-readable medium, which when executed, enables a computer system to implement a method, in an email system, for use in a system where users exchange emails to create an email thread, for a requesting user to request and retrieve a complete email thread, the method comprising the steps of: a. receiving a request for an email thread from the requesting email user; b. authenticating the requesting email user; c. retrieving the requested email thread for the requesting email user; and d. conveying the requested email thread to the requesting email user.
 9. The computer software program of claim 8 wherein the system further comprises a “Suppress Thread” UI button and wherein the method comprises the steps of: receiving “Suppress Thread” request; and removing the email thread from the user's inbox.
 10. The computer software program of claim 9 wherein the system further comprises “a “Request Thread” UI button and wherein a requesting user is added to an email thread in which the thread is incomplete, the method further comprising the steps of: receiving, from the requesting user, identification of another user on the thread; and receiving a “Request Thread” request; and conveying the thread to the requesting user.
 11. The computer software program of claim 10 wherein the system further comprises a “further comprising the step of conveying the “Request Thread” request to others in the thread.
 12. The computer software program of claim 11 wherein the method further comprises the step of allowing the others in the thread to review the thread and select “I agree”, “I agree with comments”, “I decline”, “I decline with comments”, “Ignore”, and “Return the complete thread”.
 13. The computer software program of claim 12 wherein the method further comprises the steps of receiving response from at least one of the others in the thread an agreement with comments, mining data on the mail server and parsing out the complete thread from the requesting user's mail box.
 14. The computer software program of claim 13 wherein, in the method, the mining step include mining data from all available parent and child threads.
 15. A system, where users exchange emails to create an email thread, for a requesting user to request and retrieve a complete email thread, the system comprising: a. an input/output device for receiving emails; b. a storage device for storing the received emails and for storing an email thread; c. the input/output device for receiving a request for an email thread from the requesting email user; d. an authenticator for authenticating the requesting email user; e. means for retrieving the requested email thread for the requesting email user; and f. the input/output device for conveying the requested email thread to the requesting email user.
 16. The system of claim 15 further comprising a “Suppress Thread” UI button and wherein the method comprises the steps of: receiving “Suppress Thread” request; and removing the email thread from the user's inbox.
 17. The system of claim 15 further comprising “a “Request Thread” UI button and wherein a requesting user is added to an email thread in which the thread is incomplete, the system further allows the steps of: receiving, from the requesting user, identification of another user on the thread; receiving, from the requesting user, identification of another user on the thread; receiving a “Request Thread” request; and conveying the thread to the requesting user.
 18. The system of claim 17 further comprising a “further comprising the step of conveying the “Request Thread” UI element request to others in the thread.
 19. The system of claim 18 further comprising a UI element to allow other users in the thread to review the thread and select “I agree”, “I agree with comments”, “I decline”, “I decline with comments”, “Ignore”, and “Return the complete thread”.
 20. The system of claim 19 wherein the system receives a response from at least one of the others in the thread an agreement with comments, mines data on the mail server and parses out the complete thread from the requesting user's mail box. 